package com.jxpanda.spring.module.pay.config.properties;


import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Map;

@Getter
@Setter
@ConfigurationProperties(prefix = "panda.spring.pay.wechat")
public class WechatPayProperties {

    /**
     * 是否启用，默认不启用
     */
    private boolean enable = false;

    /**
     * 商户应用配置，key是应用名称
     */
    private Map<String, Applet> applets;


    /**
     * 支付应用,逻辑上是要支持多个应用的（虽然情况很少，但是结构上要支持N个，不排除有的项目要配置多个收款账户的情况）
     */
    @Getter
    @Setter
    public static class Applet {

        /**
         * 与商户号绑定的appId
         */
        private String appId;

        /**
         * 商户号
         */
        private String merchantId;

        /**
         * 默认的全局回调地址，调用微信接口的时候，如果参数中没有主动传递notify_url，则会使用这个配置
         */
        private String defaultNotifyUrl;

        /**
         * 商户API私钥路径
         */
        private String privateKeyPath;

        /**
         * 商户证书序列号
         */
        private String merchantSerialNumber;

        /**
         * 商户API V3密钥
         */
        private String apiV3key;

    }

}
